package com.Oct_TwentyNight;


/**
 * 1534. 统计好三元组
 * 给你一个整数数组 arr ，以及 a、b 、c 三个整数。请你统计其中好三元组的数量。
 *
 * 如果三元组 (arr[i], arr[j], arr[k]) 满足下列全部条件，则认为它是一个 好三元组 。
 *
 * 0 <= i < j < k < arr.length
 * |arr[i] - arr[j]| <= a
 * |arr[j] - arr[k]| <= b
 * |arr[i] - arr[k]| <= c
 * 其中 |x| 表示 x 的绝对值。
 *
 * 返回 好三元组的数量 。
 *
 *  
 *
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode.cn/problems/count-good-triplets
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 *
 * 2022/10/29 16:32
 */

public class Solution1534 {

    public int countGoodTriplets(int[] arr, int a, int b, int c) {
        int ans=0;
        for (int i = 0; i < arr.length-2; i++) {
            for (int j = i+1; j < arr.length - 1; j++) {
                if (Math.abs(arr[i]-arr[j])>a) continue;
                for (int k = j+1; k < arr.length; k++) {
                    if (Math.abs(arr[j]-arr[k])>b) continue;
                    if (Math.abs(arr[i]-arr[j])<=a&&Math.abs(arr[j]-arr[k])<=b&&Math.abs(arr[i]-arr[k])<=c){
                        ans++;
                    }
                }
            }
        }
        return ans;
    }

    public static void main(String[] args) {
        Solution1534 solution1534=new Solution1534();
        System.out.println(solution1534.countGoodTriplets(new int[]{3,0,1,1,9,7},7,2,3));
    }

}
